﻿using System.ComponentModel.DataAnnotations;

namespace EMC.VISITOR.Application;

    /// <summary>
    /// 施工人員補充基础输入参数
    /// </summary>
    public partial class FlowSystemSGBaseInput
    {
        /// <summary>
        /// 承攬廠商名稱
        /// </summary>
        public virtual string? supplier_name { get; set; }
        
        /// <summary>
        /// 工程主辦部門名稱
        /// </summary>
        public virtual string? req_dept_name { get; set; }
        
        /// <summary>
        /// 工程主辦人員姓名
        /// </summary>
        public virtual string? req_empl_name { get; set; }
        
        /// <summary>
        /// 工程主辦人員
        /// </summary>
        public virtual string? req_empl { get; set; }
        
        /// <summary>
        /// 申請日期格式化
        /// </summary>
        public virtual DateTime? ReqDateTime { get; set; }
        
        /// <summary>
        /// 工程名稱
        /// </summary>
        public virtual string? project_name { get; set; }
        
        /// <summary>
        /// 施工開始時間
        /// </summary>
        public virtual DateTime? BeginDateTime { get; set; }
        
        /// <summary>
        /// 施工結束時間
        /// </summary>
        public virtual DateTime? EndDateTime { get; set; }
        
        /// <summary>
        /// 施工內容說明
        /// </summary>
        public virtual string? content_desc { get; set; }
        
        /// <summary>
        /// 緊急聯絡電話
        /// </summary>
        public virtual string? req_tel { get; set; }
        
        /// <summary>
        /// 施工人员数量
        /// </summary>
        public virtual int? vcou { get; set; }
        
        /// <summary>
        /// Flow施工人员
        /// </summary>
        public virtual string? personlist { get; set; }
        
        /// <summary>
        /// 补充人员（,逗號隔開）
        /// </summary>
        public virtual string? bcpersonlist { get; set; }
        
        /// <summary>
        /// 工程主辦部門
        /// </summary>
        public virtual string? req_dept { get; set; }
        
        /// <summary>
        /// 申請日期
        /// </summary>
        public virtual string? req_date { get; set; }
        
        /// <summary>
        /// 施工開始時間
        /// </summary>
        public virtual string? begin_date { get; set; }
        
        /// <summary>
        /// 施工結束時間
        /// </summary>
        public virtual string? end_date { get; set; }
        
        /// <summary>
        /// 施工區域部門
        /// </summary>
        public virtual string? build_dept { get; set; }
        
        /// <summary>
        /// 施工區域部門名稱
        /// </summary>
        public virtual string? build_dept_name { get; set; }
        
        /// <summary>
        /// 施工區域現場負責人
        /// </summary>
        public virtual string? build_empl { get; set; }
        
        /// <summary>
        /// 施工區域現場負責人姓名
        /// </summary>
        public virtual string? build_empl_name { get; set; }
        
        /// <summary>
        /// 施工緊急聯絡電話
        /// </summary>
        public virtual string? build_tel { get; set; }
        
        /// <summary>
        /// 承攬商現場負責人
        /// </summary>
        public virtual string? supplier_empl { get; set; }
        
        /// <summary>
        /// 承攬商緊急聯絡電話
        /// </summary>
        public virtual string? supplier_tel { get; set; }
        
        /// <summary>
        /// 進廠人員姓名
        /// </summary>
        public virtual string? person { get; set; }
        
        /// <summary>
        /// 创建时间
        /// </summary>
        public virtual DateTime? CreateTime { get; set; }
        
        /// <summary>
        /// 更新时间
        /// </summary>
        public virtual DateTime? UpdateTime { get; set; }
        
        /// <summary>
        /// 创建人
        /// </summary>
        public virtual long? CreateUserId { get; set; }
        
        /// <summary>
        /// 修改人
        /// </summary>
        public virtual long? UpdateUserId { get; set; }
        
    }

    /// <summary>
    /// 施工人員補充分页查询输入参数
    /// </summary>
    public partial class FlowSystemSGInput : BasePageInput
    {
        /// <summary>
        /// 关键字查询
        /// </summary>
        public string SearchKey { get; set; }

            /// <summary>
            /// 承攬廠商名稱
            /// </summary>
            public string? supplier_name { get; set; }
            
            /// <summary>
            /// 工程名稱
            /// </summary>
            public string? project_name { get; set; }
            
            /// <summary>
            /// 施工開始時間
            /// </summary>
            public DateTime? BeginDateTime { get; set; }
            
        /// <summary>
         /// 施工開始時間范围
         /// </summary>
         public List<DateTime?> BeginDateTimeRange { get; set; } 
            /// <summary>
            /// 施工結束時間
            /// </summary>
            public DateTime? EndDateTime { get; set; }
            
        /// <summary>
         /// 施工結束時間范围
         /// </summary>
         public List<DateTime?> EndDateTimeRange { get; set; } 
            /// <summary>
            /// 施工內容說明
            /// </summary>
            public string? content_desc { get; set; }
            
            /// <summary>
            /// Flow施工人员
            /// </summary>
            public string? personlist { get; set; }
            
            /// <summary>
            /// 补充人员（,逗號隔開）
            /// </summary>
            public string? bcpersonlist { get; set; }
            
    }

    /// <summary>
    /// 施工人員補充增加输入参数
    /// </summary>
    public partial class AddFlowSystemSGInput : FlowSystemSGBaseInput
    {
    }

    /// <summary>
    /// 施工人員補充删除输入参数
    /// </summary>
    public partial class DeleteFlowSystemSGInput : BaseIdInput
    {
    }

    /// <summary>
    /// 施工人員補充更新输入参数
    /// </summary>
    public partial class UpdateFlowSystemSGInput : FlowSystemSGBaseInput
    {
        /// <summary>
        /// Id
        /// </summary>
        [Required(ErrorMessage = "Id不能为空")]
        public long? Id { get; set; }
        
    }

    /// <summary>
    /// 施工人員補充主键查询输入参数
    /// </summary>
    public partial class QueryByIdFlowSystemSGInput : DeleteFlowSystemSGInput
    {

    }
